package org.dicr.util.jds.gui;

import com.borland.dx.dataset.*;

/***********************************************************************************************************************
 * @author Igor A Tarasov me@dicr.dn.ua
 * @version 020925
 **********************************************************************************************************************/
public abstract class DataViewPanel extends DataPanel implements ColumnAware {
	private static final long serialVersionUID = 1123430303922446095L;

	protected String columnName = null;

	/*******************************************************************************************************************
	 * Установка имени навигационной колонки
	 ******************************************************************************************************************/
	@Override
    public void setColumnName(String theColumnName) {
		if (this.columnName != theColumnName) {
			this.columnName = theColumnName;
		}
	}

	/*******************************************************************************************************************
	 * Возвращает имя навигационной колонки
	 ******************************************************************************************************************/
	@Override
    public String getColumnName() {
		return this.columnName;
	}

	/*******************************************************************************************************************
	 * Проверка корректности состояния источника данных
	 ******************************************************************************************************************/
	@Override
	protected boolean isValidDataSetState() {
		return (super.isValidDataSetState() && this.columnName != null && this.dataset.hasColumn(this.columnName) != null);
	}
}
